1. Field of the Invention
The present invention relates to computer systems with graphical user interfaces, such as window based systems; and more particularly to techniques for providing access to a plurality of open windows on the screen at one time.
2. Description of the Related Art
Graphical user interfaces on computer systems are gaining widespread use. Typical systems include the Macintosh Finder(trademark) environment in Macintosh computers provided by Apple Computer, Inc., of Cupertino, Calif., the Windows environment provided by Microsoft Corporation of Redmond, Washington, and the New Wave(trademark) environment provided by Hewlett-Packard of Palo Alto, Calif. In such systems, a workspace on the display system is set up with a desktop metaphor. Within the desktop, there are a number of icons displayed which correspond to objects stored in memory. The objects include, for instance, files, applications programs, control panels, and enclosures that enclose other objects. Opening an icon results in display of a window within the desktop corresponding to the underlying object. Thus, opening an application window, such as a word processor, results in display of a document into which text may be entered using the word processing program. Opening of a control panel icon results in opening of a control panel window by which the user controls system parameters. Opening of an enclosure icon, such as a folder in the Macintosh Finder(trademark) environment, results in opening of a window that encloses other icons.
When the user opens a plurality of windows on the desktop, it can become cluttered. Also, important windows to which the user may need ready reference, may become obscured behind a number of other windows needed for a given working environment and difficult to recall without messing up the working environment. For instance, if the user has an electronic mail window open on the desktop, but obscured behind a word processor window, a spread sheet window and an enclosure window, access to the electronic mail window becomes cumbersome. If a user, while working, desires to send a mail message, he must first clear the large windows from the screen in order to find the electronic mail window. After the electronic mail window is found, it must be moved to the top window. Once it is a top window, it can be used as needed. However, this procedure shuffles the desktop so that it is no longer in a convenient environment for use. Thus, when the user closes the electronic mail window, he or she must then clean up the desktop to return to the original working arrangement.
One approach to solving this problem is described in U.S. patent application entitled DESK DRAWER USER INTERFACE, invented by Ludolph, et al., filed Jun. 3, 1991, Ser. No. 07/709,715. The Ludolph, et al., application was owned at the time of invention and is currently owned by the same Assignee as the present application. According to the Ludolph, et al., invention, additional desktop space is provided using a desk drawer metaphor which can be slid onto and off of the screen. The user could place icons that correspond to often used applications or enclosures, into the desk drawer region of the desktop. When access is needed to the objects in the desk drawer, the extended desktop is slid open using a cursor action, and the object is selected by the user on the extended desktop. Windows cannot be placed in the extended desktop. This approach to overcoming the clutter of a desktop with a large number of windows has achieved some success by expanding the desktop area. However, the desktop remains subject to clutter.
It is desirable to provide quick and convenient access to windows in a friendly, flexible, and customizable way in a graphic user interface environment. Further, it is desirable to provide easy access to such windows during the middle of a drag operation.
The present invention provides a window mechanism by which a user may open a window as a drawer or, perhaps more appropriately named, a pop-up window. The drawer is a window that a user has dragged down to a drawer region at the bottom of the screen such that only the title bar, or some other drawer identifier, is left showing. When the user does this, the window remains open from the point of view of the operating system, but is kept offscreen. The user may momentarily pop the window back into the window region by clicking on the window title bar or drawer identifier. As soon as the user opens a file in the drawer via a double click, clicks on the drawer identifier, or selects some other window by clicking outside the drawer on another window, the drawer window slides back offscreen leaving its identifier showing in the drawer region. The user can also open a drawer by dragging the cursor into the drawer region during a drag. During a drag, the drawer stays popped open as long as the cursor stays inside the content area of the drawer. This allows the user to set up easy access windows that do not clutter the working environment. For instance, server aliases may be placed in a drawer window, control panels may be placed in a drawer window, applications programs like electronic mail may be suitable for a drawer window, etc. Another possible use is to put an alias to the hard disk or disks in the system and a trash icon in the drawer window so that they may be easily accessed.
Another feature of drawer windows allows the user to open them during a drag. To do so, the user drags an object or the cursor into the drawer region for the window that is desired to be moved onscreen. When the cursor touches the region, or an area within a threshold of the bottom of the screen, the drawer window slides onto the screen a notch at a time. As long as the user xe2x80x9cpushesxe2x80x9d against the bottom or remains in this threshold region, the drawer slides onto the screen. If the user lets off of the bottom of the screen, the window stops unrolling until the user pushes some more. This allows the user to move a drawer onscreen just as much as needed for a given operation. Mousing or moving the cursor out of the drawer during the drag operation will close the drawer.
This provides a browse operation very similar to the manner in which pull down menus are browsed in the current Macintosh Finder(trademark) environment. For example, the user may drag a program into a utility drawer and let it scroll until the ResEdit icon comes onto the screen. Then, the program may be dropped into the icon to launch ResEdit. The drawer snaps shut and the ResEdit window opens with the program displayed for editing.
Thus, the present invention can be characterized as an apparatus for organizing a graphic workspace on a computer system. The computer system includes control software for displaying a graphic workspace, including a window region and a control region, termed herein drawer region, on the display. A plurality of objects are stored in a storage system within the computer memory. The objects comprise processing units which may occupy a window on the display when opened. Window management logic manages a plurality of windows within the window region on the graphic workspace on the display corresponding to opened objects. The plurality of windows includes windows which may overlap and obscure other windows in the plurality. A second window management logic termed herein drawer management logic is included which provides a drawer region near the perimeter of the workspace with an identifier corresponding to a particular opened window, and responsive to user input indicating selection of the identifier within the drawer region for moving the particular opened window into view in the window region. Further, logic is provided for removing the particular window from the window region in response to gestures of the cursor, such as moving the cursor out of the window or clicking on the title bar of the window.
The plurality of windows includes applications windows providing area within the workspace for applications programs, enclosure windows providing area within the workspace for displaying icons corresponding to related objects, tool palette windows for displaying buttons to select tools for given applications and control panel windows providing area within the workspace for system control functions. The particular window subject of drawer management may be an application window, a tool palette window, a control panel window, or an enclosure window.
The drawer management logic also includes a routine for graphically sliding the particular opened window into the window region of the workspace as if from outside the perimeter of the window region when moving the particular window onscreen. In addition, during a drag operation of a particular object over a drawer identifier, the drawer slides onscreen in cooperation with the drag operation into the workspace.
Further, the drawer management logic includes initiate logic that receives an indication of a drag operation of a window in the workspace. A drawer is initiated for the window subject of the drag operation, when the cursor is moved into the drawer region near or on the perimeter of the window region. Alternatively, a window may be viewed as a drawer using a standard menu selection on the graphic workspace.
In another aspect of the present invention, the drawer management system, as described above, is coupled with a spring loaded enclosure management system operable during drag operation for opening temporary windows for enclosure identifiers selected during the drag operation. The enclosure identifiers may exist in a window on the normal work area, or within a drawer window. The user may position the cursor during the drag over an object within the drawer, pause and cause a temporary window to open over the position of the cursor to browse for a destination of the drag operation. By mousing out of the temporary window, the temporary window will close again.
Accordingly, another way to view a regular window has been provided using a drawer or pop-up window motif. To create a drawer, the user either drags a window to the bottom of the screen, where it is positioned and turned into a drawer, or the user simply chooses a control signal from the pop-up menus in the graphical user environment.
Although the term xe2x80x9cdrawerxe2x80x9d is used herein to refer to windows exhibiting the unique pop-up and slide into view behaviors described, the term is not intended to limit the invention to implementations based on a drawer metaphor that may involve sliding from the edge of the screen, or the like. Other pop-up or slide into view metaphors may apply as well.
The present invention provides great flexibility for applications programs to exchange information using the window structure based on desk drawers and spring open enclosures. Tasks that previously required many menu commands and mouse operations can now be completed with a single drag operation.
Other aspects and advantages of the present invention can be seen upon review of the figures, the detailed description, and the claims which follow.